目录
- 安装
- 启动服务
- 一键式 Docker 服务
参考文档: http://nsq.io/overview/quick_start.html
安装
从 官网 下载安装包, 对应好自己的操作系统.
我打算开启一个 Vagrant 来进行 nsq 的测试, 所以下载 Linux 版本: https://s3.amazonaws.com/bitly-downloads/nsq/nsq-1.0.0-compat.linux-amd64.go1.8.tar.gz
如果下载速度蜗牛的话建议开启迅雷.
下载好之后, 拷贝到对应目录, 解压缩.
tar zxvf nsq-1.0.0-compat.linux-amd64.go1.8.tar.gz
将解压缩的文件放在 PATH 环境变量下即可.
启动服务
- 启动集群管理节点
nsqlookupd
默认监听 4160/tcp 进行集群自动发现, 4161/http 进行性能管理 api 接口
- 启动 nsq 消息队列
nsqd --lookupd-tcp-address=127.0.0.1:4160
其中, --lookupd-tcp-address
是与上面的集群管理节点进行连接的地址, 以 tcp 协议心跳状态
默认监听 4150/tcp, 4151/http, 4152/https 端口
与其通信的 api 参考: http://nsq.io/components/nsqd.html
- 启动后台管理服务(一个 http 服务, 方便查询消息队列状态)
nsqadmin --lookupd-http-address=127.0.0.1:4161
同样, --lookupd-http-address
也算与上面集群管理节点进行连接的地址, 调用 http 接口
默认监听 4171/http 端口, 可以访问该端口得到一个后台页面, 展示 nsq 集群当前的信息.
测试服务
- 生产一个消息(同时没有对应的话题则创建)
curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test'
此时是与 nsqd 进行交互, 参考 http://nsq.io/components/nsqd.html
- 添加消费者(事件监听)
nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161
这个命令是以文件形式存储获取到的消息, 具体参考: http://nsq.io/components/utilities.html
使用 Docker 一键式部署
首先要有 Docker 环境, 具体安装方法参考: https://docs.docker.com/install/ 部分, 选择自己对应的操作系统.
Docker 部署的文档参考: http://nsq.io/deployment/docker.html
基于 Docker Composer 比较简单:
1 | version: '3' |
之后使用 docker-compose up -d
即可将其跑起来.
- docker-compose ps 查看进程
- docker-compose logs 查看日志